Distributed Garbage Collection in a Client-Server, Transactional, Persistent Object System
نویسندگان
چکیده
We present a design for distributed garbage collection in a new object-oriented database system called Thor. Garbage collection in Thor is different from that in conventional distributed systems because Thor has a client-server architecture, in which clients fetch copies of objects from multiple servers and run transactions. Our design accounts for the caching and prefetching of objects done by the clients. It also accounts for the distributed commit protocol, which involves the transfer of modified objects from the client cache back to the servers. The scalability of Thor precludes the use of global mechanisms. Therefore, our design is based on each server keeping a conservative record of incoming references from clients and other servers; this allows fast and fault-tolerant collection of most garbage. The performance requirement faced by the design is that it minimize the delay added to fetch and commit operations invoked by clients. We have devised techniques that eliminate major overheads when a client fetches a block of objects from a server: no extra messages need be sent, the server need not record the references contained in the objects in the block, and no stable-storage write is required. However, when a client commits a transaction, extra messages and stable-storage writes may be required for garbage collection purposes. We propose a scheme that masks the delay by performing garbage collection work in parallel with normal commit-time work. The rest of the distributed garbage collection protocol is devised so that it works in the background; the protocol uses only unreliable messages and tolerates node crashes and network partitions. Since our design is based on keeping a record of remote references, it does not collect distributed cyclic garbage. The thesis includes a discussion of various techniques that can be used to augment such a design to collect all garbage. The thesis also contains a novel analysis of a wide range of distributed garbage collection algorithms. Thesis Supervisor: Barbara H. Liskov Title: NEC Professor of Software Science and Engineering Distributed Garbage Collection in a Client-Server, Transactional, Persistent Object System by Umesh Maheshwari Submitted to the Department of Electrical Engineering and Computer Science on February 8, 1993, in partial fulfillment of the requirements for the degree of Master of Science in Electrical Engineering and Computer Science
منابع مشابه
Distributed Garbage Collection in a Client-server, Persistent Object System
Persistent Object System Umesh Maheshwari
متن کاملEfficient Garbage Collection for Large Object - Oriented Databases
This thesis presents the design of an efficient garbage collection scheme for large, persistent object-oriented databases in a client-server environment. The scheme uses a partitioned approach. A database is divided into disjoint partitions and each partition is collected independently. The scheme maintains transaction semantics and survives server crashes. It can be run concurrently with clien...
متن کاملFault-Tolerant Distributed Garbage Collection in a Client-Server Object-Oriented Database
We present a scalable garbage collection scheme for systems that store objects at multiple servers while clients run transactions on locally cached copies of objects. It is the first scheme that provides fault tolerance for such a system: Servers recover from failures and retrieve information needed for safe garbage collection; clients do not recover from failures, yet the scheme is able to rec...
متن کاملClient cache management in a distributed object database
A distributed object database stores objects persistently at servers. Applications run on client machines, fetching objects into a client-side cache of objects. If fetching and cache management are done in terms of objects, rather than fixed-size units such as pages, three problems must be solved: 1. which objects to prefetch, 2. how to translate, or swizzle, inter-object references when they a...
متن کاملGarbage collection in a large, distributed object store
Systems that store a large number of persistent objects over many sites in a network pose new challenges to storage management. This thesis presents a comprehensive design for collecting garbage objects in such systems. The design achieves scalability by partitioning the system at two levels: Each site traces its objects independently of other sites, and the disk space at each site is divided i...
متن کامل